#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void my_mnue();
void zhuce();
void denlu();


int main(int argc, const char*argv[])
{
    
    int select;
    my_mnue();
    scanf("%d",&select);
    getchar();
    
    switch(select)
    {
        case 1:
            denlu();
            break;
        case 2:
            zhuce();
            break;
        case 3:
            return 0;
    }

    return 0;
}

void my_mnue()
{
    printf("***********************\n");
    printf("1,登录  2,注册  3,退出\n");
    printf("***********************\n");
    printf("请输入选项\n");
}

void zhuce()
{
    char name[32];
    char passwd[12];
    printf("请输入用户名：\n");
    scanf("%s",name);
    printf("请输入密码：\n");
    scanf("%s",passwd);
    getchar();

    FILE *fp = fopen("./user","r+");
    if(fp==NULL)
    {
        printf("文件打开失败！");
        printf("注册失败！！");
        return ;
    }
    char *strname;
    char temp[64];
    while(fgets(temp,sizeof(temp),fp)!=NULL)
    {
        strname=strtok(temp,":");
        if(strcmp(strname,name)==0)
        {
            printf("存在同名用户,请重新注册\n");
            return ;
        }        
            
    }
       
        fprintf(fp,"%s:%s\n",name,passwd);
        fclose(fp);
         printf("注册成功\n");
         return ;
}

void denlu()
{
    char name[32];
    char passwd[12];
    char temp[64];
    char str[64];
    printf("请输入用户名：\n");
    scanf("%s",name);
    getchar();

    printf("请输入密码：\n");
    scanf("%s",passwd);
    getchar();

    sprintf(str,"%s:%s\n",name,passwd);

    FILE *fp=fopen("./user","r+");
    
    if(fp==NULL)
    {
        printf("文件打开失败\n");
        return ;
    }

    while (fgets(temp,sizeof(temp),fp)!=NULL)
    {
        if(strcmp(temp,str)==0)
        {
            fclose(fp);
            printf("登录成功\n");
            return ;
        }
            
    }
        printf("用户名不存在,请重新输入\n");
        fclose(fp);
        return ;
}
